1. Technical Field
The present invention relates generally to an Internet telephone system, and specifically to a system architecture for an Internet telephone operating between a Public Switched Telephone Network (PSTN) and the Internet.
2. Discussion of the Prior Art
Computer networks are often organized according to principles of client/server architecture. Servers are more powerful computers dedicated to managing the network, while clients are less powerful computers, e.g. PC's or workstations, that run applications. Clients rely upon servers for various resources. The most common client/server application is file sharing in distributed storage systems. Data is transferred between the hard disk of a workstation and the server memory. The advantage is that large quantities of data are stored on the server instead of at individual work stations, thereby reducing the workstation memory requirements. Moreover, non-private data is easily accessed by all work stations. In addition to distributed storage systems, print servers and network servers are prevalent forms of client/server architectures. Client/server architectures are also called two-tier architectures. Multi-node architectures that are not client/server architectures are called peer-to-peer architectures; in these, each node has equivalent responsibilities.
Another environment for a client/server architecture involves the Internet as an electronic marketplace. A person wishing to purchase an item on the Internet acts as a client by placing an order and the supplier acts as a server by filling that order. Transactions in the electronic marketplace require accounting and authentication by the server of purchases by the client. Encryption prevents eavesdropping and provides transaction security.
Internet telephony operates according to a number of possible strategies but all utilize digital signal processing (DSP). The most easily implemented Internet telephone systems involve software only, and work with existing modems and voice cards. Software provides DSP functions, which are computationally intensive tasks performed by the CPU of the host computer. However, such systems are not scalable beyond a few ports per system and are therefore applicable to small business gateways only. Moreover, the CPU is loaded down with DSP tasks.
DSP based cards with on-board software are more difficult and expensive to implement, but are scalable with designs including many cards per system, and thus applicable to medium and large size businesses and for inter-office calling over LAN, WAN and the Internet. These systems provide improved performance because they off-load functions such as audio compression/decompression and echo cancellation from the CPU of the host computer. The digital signal processing (DSP) functions are incorporated onto the card and latency (delay) is decreased.
A PBX integrated module is similar to a DSP card except that there is a seamless integration into the PBX phone system. This system is scalable to a higher port density than others, and is therefore applicable to larger business-to-business supersystems that bridge many PBX's and permit low cost international calling through Internet-PSTN gateways.
U.S. Pat. No. 5,633,916 to Goldhagen et al discloses a client/server architecture for a voice messaging service. Goldhagen et al sends client telephone messages over a PSTN via a server, but the architecture does not provide for sending packet-switched messages over the Internet.
U.S. Pat. No. 5,508,732 to Bottomley et al discloses a gateway architecture for broadcasting digital video over servers on demand. However, Bottomley et al is not concerned with sending voice information between clients in real time.
U.S. Pat. No. 5,657,376 to Espeut et al discloses an architecture for voice messaging systems that receives incoming calls over a public switched telephone network from subscribers utilizing personal computers. Espeut et al sends these messages over a server but is directed to local area networks and does not permit exchange of messages in real time.
The problem to be solved in Internet telephony systems is to combine the features of client/server architectures with digital signal processing to transmit voice information over the Internet. Furthermore, a practical Internet telephone system must have the capability of authenticating and billing callers in real time.